热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

射线|鸟瞰图_经典文献阅读之Cam2BEV

篇首语:本文由编程笔记#小编为大家整理,主要介绍了经典文献阅读之--Cam2BEV相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了经典文献阅读之--Cam2BEV相关的知识,希望对你有一定的参考价值。




0. 简介

这里我们介绍一篇20年的论文《​​A Sim2Real Deep Learning Approach for the Transformation of Images from Multiple Vehicle-Mounted Cameras to a Semantically Segmented Image in Bird’s Eye View​​​》。这篇文章描述了一种获取360°鸟瞰图的方法,这些图像来自于多个摄像头。对校正后的BEV图像进行语义分割,并预测遮挡的部分。该方法不需要手工标注数据,而是在合成数据集上面进行训练,这样就能够在真实世界表现更好的效果。下面是他们的​​Github​​开源代码。

1. 文章贡献

自动驾驶的其中一个关键因素是准确的感知周围的环境,这对于安全来说至关重要。由于单目摄像机只能提供图像平面上位置的信息,因此可以对图像进行透视变换。透视变换是从一个视角所看到的相同场景的近似,在这个视角中,成像平面与摄像机前面的地平面对齐。将相机图像转换为BEV的方法通常称为逆变换角度映射(IPM)。IPM假设世界是扁平的,但是任何三维物体都会违背这一假设,所以不太适用。

尽管IPM引入的错误是可以校正的,但是仍然需要在BEV中检测目标。为此提出了一种不受IPM下的平度假设所带来的误差影响的BEV图像获取方法。通过语义分割的输入,该算法能够获取类信息,从而能够将这些信息纳入IPM生成的图像的校正中。模型的输出是输入场景的语义分段BEV,由于对象形状被保留,输出不仅可以用于确定自由空间,而且可以定位动态对象。下图为四个摄像头通过IPM得到的图像和所需的真实BEV图像。

经典文献阅读之--Cam2BEV_人工智能


这项工作的贡献如下所示:

  1. 提出了一种在BEV中能够将多个车载摄像机图像转换为语义分割图像的方法
  2. 使用不同的神经网络架构,设计并比较了两种不同的方法,其中一种是专门为这项任务设计的;
  3. 在设计过程中,不需要对BEV图像进行人工标记来训练基于神经网络的模型
  4. 最后展示了一个成功的实际应用的模型。

2. 遮挡处理

该文章基于卷积神经网络(CNN)的使用,但是大多数的CNNs只处理一个输入图像。单输入网络可以将多个图像按其通道级联作为输入会导致输入和输出图像之间的空间不一致,这表明我们需要一种额外的深度学习机智。

2.1 处理遮挡

当只考虑输入域和期望的输出时,会出现一个明显的难题:交通参与者和静态障碍可能会遮挡部分环境,使得在BEV图像中预测这些区域几乎不可能。

为此对每个车载摄像机,虚拟射线从其安装位置投射到语义上分割的真值BEV图像的边缘。这个射线仅投射到特定摄像头视野的边缘像素。根据以下规则处理这些射线的所有像素以确定它们的遮挡状态:

  1. 一些语义类总是挡住视线(例如,建筑物,卡车);
  2. 一些语义类永远不会遮挡视线(例如道路);
  3. 汽车挡住了视线,但不能挡在后面的较高物体(例如卡车,公共汽车);
  4. 被部分遮挡的物体仍然完全可见;
  5. 仅当目标在所有摄影机透视图中均被遮挡时,才将其标记为遮挡。

根据这些规则修改的真实BEV图像如下图所示。

经典文献阅读之--Cam2BEV_深度学习_02

2.2 投影预处理

IPM技术作为方法中的一部分,作者推导了汽车摄像机框架与BEV之间的投影变换,确定了单应矩阵涉及的相机内部和外部参数。

世界坐标xw和图像坐标xi之间的关系由以下投影矩阵P给出:
经典文献阅读之--Cam2BEV_人工智能_09

…详情请参照​​古月居​​



推荐阅读
author-avatar
溟尛樂_840
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有